ICML 2024 | 腾讯提出全新多嵌入范式:维度坍塌视角下的大规模推荐系统
在推荐系统中,模型的参数量被特征嵌入 (Embedding) 表征主导。所以,要将整个推荐模型做大,需要增加特征嵌入表征的参数量。我们发现,业界主流的显式特征交叉结构会使特征嵌入表征产生维度坍塌,导致无法通过简单地拉长嵌入表征来提升模型效果。
针对该挑战,我们提出了一种多嵌入 (Multi-Embedding) 范式,为每个特征学习多个嵌入表征,并且基于每套嵌入表征学习独立的显式交叉专家网络。通过增加每个特征嵌入表征的个数而不是拉长单个嵌入表征的长度,我们在特征交叉推荐模型达成了 Scaling Law:整个推荐模型的参数量越大,效果越好。该框架适用于所有的主流推荐模型结构,包括 DCN V2, NFwFM, IPNN, xDeepFM 和 DNN 等。
该项工作已经被机器学习顶级会议 ICML 2024 录用,欢迎阅读交流。
论文标题:
On the Embedding Collapse When Scaling Up Recommendation Models
https://arxiv.org/pdf/2310.04400
https://github.com/thuml/Multi-Embedding
随着大数据时代的到来,推荐系统在广告、电商、社交媒体、新闻推送和音乐流媒体等领域发挥着越来越重要的作用。深度学习驱动的推荐模型通过挖掘用户和物品之间的复杂关系,为用户带来个性化的推荐体验。然而,尽管通用大模型的参数规模不断扩大,主流推荐模型的规模却停滞不前,这限制了推荐系统效果的进一步提升。接下来,我们将从“嵌入维度坍塌”的视角来解释该现象。
1.1 嵌入维度坍塌现象
嵌入维度坍塌 (Dimensional Collapse) 指的是,在一个高维空间中,推荐模型的很多特征的嵌入表征只支撑起一个低维的子空间。这会导致模型无法充分利用高维空间提供的超大参数容量,从而限制了模型的可扩展性。所以在做推荐大模型时,如果我们简单地将每个特征的嵌入表征的长度拉长,虽然模型的参数量会线性增大,但是由于大部分特征的有效维度很小,导致模型效果提升幅度不大,甚至有所下降(如左下图所示)。
为了验证维度坍塌的存在,我们基于奇异值分解对模型学习到的嵌入矩阵进行谱分析 (Singular Spectrual Analysis),并发现大多数嵌入矩阵的奇异值衰减很快(如右下图所示),即大多数特征的嵌入矩阵是低秩的。
▲ 图1:单嵌入模型的扩展效果(左)以及其在不同的嵌入维度(4倍、10倍)下的维度坍塌情况(右)。
1.2 交叉坍塌定律
我们接下来深入分析了维度坍塌的原因。首先,我们提出了“信息丰度 (Information Abundance, IA)”指标来衡量某个特征 embedding 的坍塌程度。具体地,IA 定义为表征矩阵的奇异值总和除以奇异值最大值。该指标衡量了奇异值的分布均匀性:该值越大,说明奇异值分布越均匀,维度坍塌程度越小。相反,则说明奇异值分布不均匀,很多维度发生了严重的坍塌。
▲ 图2:DCN V2中每个特征域变换后的嵌入的维度坍塌情况
不失一般性地,我们以 DCN V2 为例进行维度坍塌的分析。DCNv2 的每个特征都有多个不同的变换嵌入表征 (projected embedding),其中每个嵌入表征对应一个特征域 (Field)。
具体地,我们分析了 DCN V2 模型下,某个特征域i的特征嵌入在与特征域j交互时的变换嵌入表征的信息丰度值(上图(a));以及给定特征域 i(或 j)后,所有由特征域i变换出的嵌入表征以及所有变换到特征域j的嵌入表征的信息丰度均值。
我们可以清楚地看到,变换嵌入表征的信息丰度不仅取决于源特征域 i(上图(b)),还明显地受到其与之进行交叉的目标特征域 j 的影响(上图(c))。基于这些观察,我们提出了“交叉坍塌定律”,亦即,在推荐系统的特征交叉中,信息丰度低的特征与信息丰度高的特征交叉后,会导致后者的嵌入表征发生维度坍塌。针对该交叉坍塌定律,我们也提供了理论证明,细节请阅读原论文第 4 章节。
1.3 如何缓解坍塌
▲ 图3:变换矩阵做正则后的维度坍塌情况(a)和模型效果(b, c)
上面章节已经论证了显式的特征交叉会导致 embedding 发生维度坍塌。我们接下来讨论几种缓解维度坍塌的尝试。首先,我们发现在 DCN V2 中每个特征域的 embedding 在变换后发生了维度坍塌。
我们试图去对变换矩阵做一些限制,使其接近单位矩阵,以避免变换矩阵导致的维度坍塌。具体地,我们在模型的损失函数中增加了一个正则损失,使得变换矩阵近似于单位矩阵。但是,我们发现,虽然所有特征 embedding 的维度坍塌得到了很大程度的缓解(图 3(a)),但是模型发生了严重的过拟合,亦即训练时的损失函数大幅降低(图 3(c)),但是测试的 AUC 也显著地变差(图 3(b))。
▲ 图4:DNN与DCN V2的维度坍塌(a)以及模型扩展效果对比(b)
于是,我们又尝试了一种更激进的方法:直接将模型里的显式特征交叉模块替换为隐式交叉,亦即对 embedding 做拼接后接入 MLP,也就是把 DCN V2 替换为 Concat & MLP。我们同样发现 embedding 的维度坍塌得到了一定程度缓解(图 4(a)),但是该模型同样无法有效的进行参数扩展,亦即模型的效果随着参数量变大而显著恶化(图 4(b))。
我们的方法:多嵌入范式
嵌入维度坍塌会使得某些特征的实际有效维度远低于其设置的嵌入表征长度,所以进一步的拉长这些特征的嵌入表征长度不太可能带来效果提升,这就使得通过拉长特征嵌入表征维度来扩展 (scale up) 推荐模型不可行。
针对该挑战,我们提出了多嵌入范式 (Multi-Embedding Paradigm),为所有的特征 ID 学习多套嵌入表征,并且基于每套嵌入表征学习独立的专家网络,最后基于混合专家网络(MoE 结构)输出最终预估值。整体结构见下图所示:
▲ 图5:多嵌入范式架构图
▲ 表1:在Criteo和Avazu公开数据集上的效果对比
▲ 图8:单嵌入(左)和多嵌入范式(右)下特征域的变换后embedding的维度坍塌情况
▲ 图9:单嵌入和多嵌入范式下的嵌入空间的多样性对比(a),以及多嵌入范式下不同变换矩阵W的可视化(b)。
参考文献
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧